package ace.module.account.core.impl.model.dto;

import ace.module.account.api.model.dto.IamAccountDto;
import ace.module.account.api.model.dto.IamAccountProfileDto;
import ace.module.upms.api.model.dto.UpmsOrganizationDto;
import ace.module.upms.api.model.dto.UpmsRoleDto;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

/**
 * .
 *
 * @author Caspar
 */
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@Schema(title = "管理员账户列表资料")
public class IamAdminAccountListItemDto implements Serializable {

  @Schema(title = "账户基础资料")
  private IamAccountDto account;

  @Schema(title = "账户个人资料")
  private IamAccountProfileDto profile;

  @Schema(title = "账户名")
  private String username;

  @Schema(title = "账户手机号码")
  private String accountPhone;

  @Schema(title = "所属角色")
  private List<UpmsRoleDto> roles;

  @Schema(title = "所属组织")
  private List<UpmsOrganizationDto> organizations;
}